//帖子的控制器，暴露一系列中间件方法给到帖子的路由去使用

//引入postModel
const postModel = require('../models/postModel');

//获取帖子列表
exports.index = async (req, res) => {
    // res.send('获取帖子列表');
    const data = await postModel.find();
    res.send({
        code: 0,
        msg: '成功',
        data: data
    });
};

//创建帖子
exports.create = (req, res) => {
    res.send('创建帖子');
    const {
        title,
        content
    } = req.body;

    //Model.create()
    postModel.create({
            title: title,
            content: content
        })
        .then(() => {
            res.send({
                code: 0,
                msg: '成功'
            });
        })
    // try {
    //     await postModel.create({
    //         title,
    //         content
    //     });
    //     res.send({
    //         code: 0,
    //         msg: '成功'
    //     });
    // } catch (error) {
    //     console.log(error);
    //     res.send({
    //         code: -1,
    //         msg: '失败'
    //     });
    // }
};

//更新帖子
exports.update = async (req, res) => {
    // res.send('更新帖子');
    // const id = req.params.id;等价于下面的代码
    const {
        id
    } = req.params;

    //更新的内容 req.body

    // await postModel.updateOne({_id: id}, {title: title, content: content});等价于下面的代码，
    await postModel.updateOne({
        _id: id
    }, req.body); //优化为 前端修改什么内容就修改什么内容
    res.send({
        code: 0,
        msg: '成功'
    })
};


//删除帖子
exports.remove = async (req, res) => {
    //获取动态id
    const {
        id
    } = req.params;
    // res.send('删除帖子');

    await postModel.deleteOne({
        _id: id
    });
    res.send({
        code: 0,
        msg: '成功'
    });
};